﻿// Constructing Roads POJ - 2421.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://vjudge.net/problem/POJ-2421

有 N 个村庄，编号从 1 到 N，你应该修建一些道路，使每两个村庄都能相互连接。
当且仅当 A 和 B 之间有一条公路，或者存在一个村庄 C，使得 A 和 C 之间有一条公路，并且 C 和 B 相连时，我们才说两个村庄 A 和 B 相连。



我们知道，一些村庄之间已经有了一些道路，而你的任务就是修建一些道路，使所有村庄都连接起来，并且所有修建的道路长度最小。
输入
第一行是整数 N（3 <= N <= 100），即村庄数。然后是 N 行，其中第 i 行包含 N 个整数，
N 个整数中的第 j 行是村庄 i 和村庄 j 之间的距离（距离应是 [1, 1000] 范围内的整数）。




然后有一个整数 Q（0 <= Q <= N * (N + 1) / 2）。然后出现 Q 行，每行包含两个整数 a 和 b（1 <= a <= b <= N），
这表示 a 村和 b 村之间的道路已经建成。
输出
你应该输出一行包含一个整数的数据，它是所有要修建的道路的长度，这样所有的村庄都被连接起来，并且这个值是最小的。

3
0 990 692
990 0 179
692 179 0
1
1 2

179
*/
int main()
{
    std::cout << "Hello World!\n";
}

 